﻿Imports System.Data
Imports CondorTravel.BC
Imports CondorTravel.BE
Imports CondorTravelUTIL.DL

Public Class EvaluarSolicitudServicios
    Inherits PaginaBase

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Dim bExito As Boolean = False
        Dim sMensaje As String = String.Empty



        If Not Page.IsPostBack Then

            Dim listUnidadBE As List(Of UnidadBE) = New List(Of UnidadBE)
            Dim objUnidadBC As UnidadBC = New UnidadBC()

            Dim objUnidadSeleccione As UnidadBE = New UnidadBE
            objUnidadSeleccione.Codigo = 0
            objUnidadSeleccione.Descripcion = "[Seleccione]"
            listUnidadBE.Add(objUnidadSeleccione)

            listUnidadBE.AddRange(objUnidadBC.UnidadListar())

            cboUnidad.DataSource = listUnidadBE
            cboUnidad.DataValueField = "Codigo"
            cboUnidad.DataTextField = "Descripcion"
            cboUnidad.DataBind()

            lblTitulo.Text = "Evaluar Solicitud de Servicio"

            Dim objSolicitudSevicioBC As SolicitudServicioBC
            objSolicitudSevicioBC = New SolicitudServicioBC


            Dim objSolicitudSevicioBE As SolicitudServicioBE
            objSolicitudSevicioBE = New SolicitudServicioBE

            objSolicitudSevicioBE.CodSolicitud = Session("CodigoSolicitud")
            objSolicitudSevicioBC.ListarSolicitudServicio_Update(objSolicitudSevicioBE, bExito, sMensaje)

            Dim objSolServicio As List(Of SolicitudServicioBE) = objSolicitudSevicioBC.ListarSolicitudServicio_Update(objSolicitudSevicioBE, bExito, sMensaje)

            ' Mostrar el registro
            Dim strFechas As String
            txtServicio.Text = objSolServicio.Item(0).NombreServicio
            txtProveedores.Text = objSolServicio.Item(0).Proveedores
            strFechas = objSolServicio.Item(0).FechaLanzamiento
            txtFecha.Text = Convert.ToDateTime(strFechas).ToString("dd/MM/yyyy")
            cboUnidad.SelectedValue = objSolServicio.Item(0).Unidad
            txtObservaciones.Text = objSolServicio.Item(0).Observaciones

            txtFecha.Attributes.Add("readonly", "readonly")
            cle1.StartDate = Date.Now.AddDays(1)


        End If
    End Sub

    Protected Sub btnNuevo_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnNuevo.Click

        Try
            Dim objSolicitudSevicioBE As SolicitudServicioBE
            Dim objSolicitudSevicioBC As SolicitudServicioBC
            Dim bExito As Boolean = False
            Dim sMensaje As String = String.Empty


            Dim strServicio As String
            Dim strUnidad As Integer
            Dim strFechas As Date
            Dim strProveedores As String
            Dim strObservaciones As String
            Dim strUsuario As String


            If validaCampos() Then

                strUnidad = cboUnidad.SelectedItem.Value
                strServicio = txtServicio.Text.Trim
                strFechas = Convert.ToDateTime(txtFecha.Text.Trim).ToString("dd/MM/yyyy")
                strProveedores = txtProveedores.Text.Trim
                strObservaciones = txtObservaciones.Text.Trim
                strUsuario = CType(Session("usuario"), UsuariosBE).CodUsuario

                objSolicitudSevicioBE = New SolicitudServicioBE
                objSolicitudSevicioBE.Unidad = strUnidad
                objSolicitudSevicioBE.NombreServicio = Replace(Replace(strServicio, "'", ""), ",", "/")
                objSolicitudSevicioBE.FechaLanzamiento = Replace(strFechas, ",", "")
                objSolicitudSevicioBE.Proveedores = Replace(Replace(strProveedores, "'", ""), ",", "/")
                objSolicitudSevicioBE.Observaciones = Replace(strObservaciones, "'", "")
                objSolicitudSevicioBE.UsuarioActualiza = strUsuario
                objSolicitudSevicioBE.Estado = "B"

                objSolicitudSevicioBC = New SolicitudServicioBC

                objSolicitudSevicioBE.CodSolicitud = Session("CodigoSolicitud")
                objSolicitudSevicioBC.ModificaSolicitudServicio(objSolicitudSevicioBE, bExito, sMensaje)

                If bExito Then
                    Alerta("La solicitud fue aprobada con exito.", True, "SolicitudServicios2.aspx")
                    cboUnidad.SelectedIndex = 0
                    limpiaCampos()
                Else
                    Alerta("Erro: Hubieron Problemas al aprobar la solicitud.", False, "SolicitudServicios2.aspx")
                    lblMensaje.Text = sMensaje
                End If

            End If
        
        Catch ex As Exception

        End Try


    End Sub

    Sub limpiaCampos()

        txtServicio.Text = String.Empty
        txtProveedores.Text = String.Empty
        txtObservaciones.Text = String.Empty
        txtFecha.Text = String.Empty
        ' lblMensaje.Text = String.Empty

    End Sub

    Function validaCampos() As Boolean


        If txtServicio.Text = String.Empty Then
            'lblMensaje.Text = "Faltan ingresar Campos"
            Alerta("Faltan ingresar el nombre del servicio.", False, String.Empty)
            Return False
        ElseIf cboUnidad.SelectedIndex = 0 Then
            Alerta("Seleccione la unidad del Servicio.", False, String.Empty)
            Return False
        ElseIf txtFecha.Text = String.Empty Then
            Alerta("Faltan ingresar la fecha de lanzamiento.", False, String.Empty)
            Return False
        ElseIf txtProveedores.Text = String.Empty Then
            Alerta("Faltan ingresar el proveedor(es).", False, String.Empty)
            Return False
        ElseIf txtObservaciones.Text = String.Empty Then
            Alerta("Faltan ingresar las observaciones.", False, String.Empty)
            Return False
        End If

        Dim fechas As String = txtFecha.Text.Trim
        If Not IsDate(fechas) Then
            'lblMensaje.Text = "La fecha no tiene formato DD/MM/YYYY"
            Alerta("La fecha no tiene formato DD/MM/YYYY.", False, String.Empty)
            Return False
        End If

        If Convert.ToDateTime(fechas).ToString("dd/MM/yyyy") < Date.Now And Session("TipoEvento") = 0 Then
            'lblMensaje.Text = "La fecha debe ser mayor a la actual"
            Alerta("La fecha debe ser mayor a la actual.", False, String.Empty)
            Return False
        End If

        Return True

    End Function

    Protected Sub btnConsultar0_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnConsultar0.Click

        Response.Redirect("SolicitudServicios2.aspx", True)
    End Sub
End Class